package com.yuandian.api.business_monitor.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.yuandian.annotation.AddSuffix;
import com.yuandian.utils.poi.converter.AddSuffixConverter;
import lombok.Data;

/**
 * 说明：业务步骤包装类
 * @Author LinShiHe
 * @Date 2020-05-26
 */
@Data
public class BusinessProcessVo {

    /**
     * 系统id
     */
    private Integer systemId;

    /**
     * 系统名称
     */
    private String systemName;

    /**
     * 业务编码
     */
    private String businessCode;

    /**
     * 业务名称
     */
    private String businessName;

    /**
     * 步骤编码
     */
    private String stepCode;

    /**
     * 步骤名称
     */
    private String stepName;

    /**
     * 请求量
     */
    private Integer reqCount;

    /**
     * 告警量
     */
    private Integer alarmCount;

    /**
     * 告警量
     */
    private Integer alarmNum;

    /**
     * 失败量
     */
    private Integer failCount;

    /**
     * 最大处理时长
     */
    private Integer maxDealTime;

    /**
     * 最小处理时长
     */
    private Integer minDealTime;

    /**
     * 总处理时长
     */
    private Long totalDealTime;

    /**
     * 总服务器耗时
     */
    private String totalServerResponseTime;

    /**
     * 时间标签
     */
    private String labelTime;

    /**
     * 健康度
     */
    @ColumnWidth(20)
    @ExcelProperty(value = "健康度", converter = AddSuffixConverter.class)
    private String healthRate;

    /**
     * 失败率
     */
    @ColumnWidth(20)
    @AddSuffix("%")
    @ExcelProperty(value = "失败率", converter = AddSuffixConverter.class)
    private String failRate;

    /**
     * 排序字段
     */
    private Integer sequence = Integer.MAX_VALUE;
}
